home *** CD-ROM | disk | FTP | other *** search
- #ifndef __LINUX_PKT_CLS_H
- #define __LINUX_PKT_CLS_H
-
- struct tc_police
- {
- __u32 index;
- int action;
- #define TC_POLICE_UNSPEC (-1)
- #define TC_POLICE_OK 0
- #define TC_POLICE_RECLASSIFY 1
- #define TC_POLICE_SHOT 2
-
- __u32 limit;
- __u32 burst;
- __u32 mtu;
- struct tc_ratespec rate;
- struct tc_ratespec peakrate;
- };
-
- enum
- {
- TCA_POLICE_UNSPEC,
- TCA_POLICE_TBF,
- TCA_POLICE_RATE,
- TCA_POLICE_PEAKRATE,
- TCA_POLICE_AVRATE,
- TCA_POLICE_RESULT
- #define TCA_POLICE_RESULT TCA_POLICE_RESULT
- };
-
- #define TCA_POLICE_MAX TCA_POLICE_RESULT
-
- /* U32 filters */
-
- #define TC_U32_HTID(h) ((h)&0xFFF00000)
- #define TC_U32_USERHTID(h) (TC_U32_HTID(h)>>20)
- #define TC_U32_HASH(h) (((h)>>12)&0xFF)
- #define TC_U32_NODE(h) ((h)&0xFFF)
- #define TC_U32_KEY(h) ((h)&0xFFFFF)
- #define TC_U32_UNSPEC 0
- #define TC_U32_ROOT (0xFFF00000)
-
- enum
- {
- TCA_U32_UNSPEC,
- TCA_U32_CLASSID,
- TCA_U32_HASH,
- TCA_U32_LINK,
- TCA_U32_DIVISOR,
- TCA_U32_SEL,
- TCA_U32_POLICE,
- };
-
- #define TCA_U32_MAX TCA_U32_POLICE
-
- struct tc_u32_key
- {
- __u32 mask;
- __u32 val;
- int off;
- int offmask;
- };
-
- struct tc_u32_sel
- {
- unsigned char flags;
- unsigned char offshift;
- unsigned char nkeys;
-
- __u16 offmask;
- __u16 off;
- short offoff;
-
- short hoff;
- __u32 hmask;
-
- struct tc_u32_key keys[0];
- };
-
- /* Flags */
-
- #define TC_U32_TERMINAL 1
- #define TC_U32_OFFSET 2
- #define TC_U32_VAROFFSET 4
- #define TC_U32_EAT 8
-
- #define TC_U32_MAXDEPTH 8
-
-
- /* RSVP filter */
-
- enum
- {
- TCA_RSVP_UNSPEC,
- TCA_RSVP_CLASSID,
- TCA_RSVP_DST,
- TCA_RSVP_SRC,
- TCA_RSVP_PINFO,
- TCA_RSVP_POLICE,
- };
-
- #define TCA_RSVP_MAX TCA_RSVP_POLICE
-
- struct tc_rsvp_gpi
- {
- __u32 key;
- __u32 mask;
- int offset;
- };
-
- struct tc_rsvp_pinfo
- {
- struct tc_rsvp_gpi dpi;
- struct tc_rsvp_gpi spi;
- __u8 protocol;
- __u8 tunnelid;
- __u8 tunnelhdr;
- };
-
- /* ROUTE filter */
-
- enum
- {
- TCA_ROUTE4_UNSPEC,
- TCA_ROUTE4_CLASSID,
- TCA_ROUTE4_TO,
- TCA_ROUTE4_FROM,
- TCA_ROUTE4_IIF,
- TCA_ROUTE4_POLICE,
- };
-
- #define TCA_ROUTE4_MAX TCA_ROUTE4_POLICE
-
-
- /* FW filter */
-
- enum
- {
- TCA_FW_UNSPEC,
- TCA_FW_CLASSID,
- TCA_FW_POLICE,
- };
-
- #define TCA_FW_MAX TCA_FW_POLICE
-
- #endif
-